# coding: utf8
# 令人费解的是使用Django的logging,在使用syslog网络传输的时候会有丢失(本地却行),无奈只好用这个了
import syslog


class Logger(object):

    facility = syslog.LOG_LOCAL4

    def __init__(self, id):
        self.id = id
        syslog.openlog(self.id, syslog.LOG_NDELAY, self.facility)

    def debug(self, msg):
        self.__log(syslog.LOG_DEBUG, 'DEBUG' + msg)

    def info(self, msg):
        self.__log(syslog.LOG_INFO, 'INFO' + msg)

    def notice(self, msg):
        self.__log(syslog.LOG_NOTICE, 'NOTICE' + msg)

    def warn(self, msg):
        self.__log(syslog.LOG_WARNING, 'WARN' + msg)

    def error(self, msg):
        self.__log(syslog.LOG_ERR, 'ERROR' + msg)

    def __log(self, cate, msg):
        msg = msg.replace('\0', '')
        syslog.syslog(cate, msg)

if __name__ == '__main__':
    logger = Logger('C21_QRCODE')
    logger.info('|10.2.98.67|qrcode/|GET|bai9v48UJ,http://www.baidu.com')
